package org.edu.modules.base.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.edu.modules.base.entity.VeBaseAppUser;

@Mapper
public abstract interface VeBaseAppUserMapper extends BaseMapper<VeBaseAppUser> {

    public abstract List<VeBaseAppUser> getLoginUserList(VeBaseAppUser appUser);

    public abstract List<VeBaseAppUser> getLoginUserAllList(VeBaseAppUser appUser);

    public abstract int getLoginUserAllListNum(VeBaseAppUser appUser);

    public abstract List<VeBaseAppUser> getLoginUserPageList(VeBaseAppUser appUser);

    public abstract int getAppUserList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> getAppUserPageList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> getRoleNameByUserId(String userId);

    //20250117 lbh 更换参数名称
    public abstract int updateAppUserPasswordById(String id, String password, String salt, String strength);

//    public abstract int updateAppUserPasswordById(String id, String username, String password, String strength);

    public abstract int serviceGroupAppUserAllList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> serviceGroupAppUserPageList(VeBaseAppUser appUser);

    public abstract int deleteServiceGroupAppUser(String groupId);

    public abstract int serviceGroupAppUserAdd(String groupId, String[] userId);

    public abstract int deleteGroupAppUser(String groupId, String[] userId);

    public abstract List<Map<String, Object>> getAppOrganList();

    public abstract List<Map<String, Object>> getSysRoleList();

    public abstract int addOrgan(String userId, String organId);

    public abstract int addRole(String userId, String roleId);

    public abstract int deleteOrgan(String userId);

    public abstract int deleteRole(String userId);

    public abstract List<Map<String, Object>> getAppUserByUserId(String userId, String id);

    public abstract List<Map<String, Object>> getAppUserAllListByUserId(String userId, String id);

    public abstract List<Map<String, Object>> getAppUserByUserTel(String userTel, String id);

    public abstract int getAppUserAndStudentAndTeacherList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> getAppUserAndStudentAndTeacherPageList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> getSysRoleListByUserId(String userId);

    public abstract int addSysUser(VeBaseAppUser appUser);

    public abstract int updateSysUserStatus(String userId, Integer status);

    public abstract int updateSysUserDel(String userId);

    public abstract List<Map<String, Object>> getTeacherListByUserId(String userId);

    public abstract List<Map<String, Object>> getStudentListByUserId(String userId);

    public abstract int updatePwdAndSalt(String userId, String pwd, String salt);
}
